package com.zq.server.api.dao;

import java.util.List;

import com.zq.server.api.domain.entity.ApiActivity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;


/**
 * @author Super
 * @description 针对表【activity】的数据库操作Mapper
 * @createDate 2024-02-25 20:19:00
 * @Entity com.zq.daomain.entity.ApiActivity
 */
@Mapper
public interface ActivityMapper {
    /**
     * is 模糊查询  根据地址  获取活动集合
     *
     * @param ars
     * @return List<ApiActivity>
     */
    List<ApiActivity> getActivities(String city);

    /**
     * is  id   get msg
     *
     * @param aid
     * @return ApiActivity
     */
    ApiActivity getActivityInfo(Integer aid);

    /**
     * 插入活动
     *
     * @return
     */
    Boolean saveActivity(ApiActivity activity);

    /**
     * @return //查出未结束的所有活动
     */
    Integer updateActivityState();

    /**
     * @param '03月19日'
     * @return 活动集合
     */
    List<ApiActivity> getActivityByTime(@Param("time") String time, String city);

    /**
     * @param activityName 活动名称
     * @return 活动集合
     */
    List<ApiActivity> getActivityByActivityName(@Param("activityName") String activityName);
    /**
     *  批量插入
     * @作者 Caige
     * @日期 2024.3.24 23:05
     * @Description //TODO 23:05
     * @param activity
     * @return java.lang.Integer
     */

    Integer batchInsertActivities(List<ApiActivity> activity);
    /**
     *
     * @作者: Caige
     * @日期: 2024.3.24 17:46
     * @param startTime
     * @param endTime
     * @return java.util.List<com.zq.server.api.entity.domain.ApiActivity>
     */
    List<ApiActivity> getActivityListByTimeAndByAddress(String startTime, String endTime, String city);

    List<ApiActivity> getUserPlayActivityList(Long userId);
    /**
     *
     * @作者 Caige
     * @日期 2024.3.28 10:18
     * @Description //TODO 10:18
     */

    List<ApiActivity> findTodayActivityList();

    /**
     *  获取指定活动id下的所有参与者
     * @作者 Caige
     * @日期 2024.3.28 14:17
     * @Description //TODO 14:17
     * @param id
     */
    List<Long> getPlayUserIds(Long id);
}




